package top.csmcool.musicapi.model.api.netease;

/*
 * @description
 * @date 2025/1/31
 * @author shijin
 * @version 1.0
 */

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.util.List;


@Data
public class MusicTrack {
    @JsonProperty("id")
    private long id;

    @JsonProperty("name")
    private String name;

    @JsonProperty("pst")
    private int pst;

    @JsonProperty("t")
    private int t;

    @JsonProperty("ar")
    @JSONField(alternateNames = "ar")
    private List<Artist> artists;

    @JsonProperty("alia")
    private List<String> alia;

    @JsonProperty("pop")
    private int popularity;

    @JsonProperty("st")
    private int st;

    @JsonProperty("rt")
    private String rt;

    @JsonProperty("fee")
    private int fee;

    @JsonProperty("v")
    private int version;

    @JsonProperty("crbt")
    private Object crbt;

    @JsonProperty("cf")
    private String cf;

    @JsonProperty("al")
    @JSONField(alternateNames = "al")
    private Album album;

    @JsonProperty("dt")
    private int duration;

    @JsonProperty("h")
    private Quality highQuality;

    @JsonProperty("m")
    private Quality mediumQuality;

    @JsonProperty("l")
    private Quality lowQuality;

    @JsonProperty("sq")
    private Object sq;

    @JsonProperty("hr")
    private Object hr;

    @JsonProperty("a")
    private Object a;

    @JsonProperty("cd")
    private String cd;

    @JsonProperty("no")
    private int trackNumber;

    @JsonProperty("rtUrl")
    private Object rtUrl;

    @JsonProperty("ftype")
    private int ftype;

    @JsonProperty("rtUrls")
    private List<String> rtUrls;

    @JsonProperty("djId")
    private int djId;

    @JsonProperty("copyright")
    private int copyright;

    @JsonProperty("s_id")
    private int sId;

    @JsonProperty("mark")
    private long mark;

    @JsonProperty("originCoverType")
    private int originCoverType;

    @JsonProperty("originSongSimpleData")
    private Object originSongSimpleData;

    @JsonProperty("tagPicList")
    private Object tagPicList;

    @JsonProperty("resourceState")
    private boolean resourceState;

    @JsonProperty("version")
    private int songVersion;

    @JsonProperty("songJumpInfo")
    private Object songJumpInfo;

    @JsonProperty("entertainmentTags")
    private Object entertainmentTags;

    @JsonProperty("awardTags")
    private Object awardTags;

    @JsonProperty("single")
    private int single;

    @JsonProperty("noCopyrightRcmd")
    private Object noCopyrightRcmd;

    @JsonProperty("alg")
    private Object alg;

    @JsonProperty("displayReason")
    private Object displayReason;

    @JsonProperty("rtype")
    private int rtype;

    @JsonProperty("rurl")
    private Object rurl;

    @JsonProperty("mst")
    private int mst;

    @JsonProperty("cp")
    private int cp;

    @JsonProperty("mv")
    private int mv;

    @JsonProperty("publishTime")
    private long publishTime;
}
